/** 将一些全局方法挂载到 Vue 全局 **/

/***
 * 设置 vuex 中 state 的值
 * @params {string} state
 * @params {string} key
 * @params {*} value
 */
function setVuex(state, key, value) {
	this.$store.commit('setVuexStorage', { state, key, value });
}

/***
 * 提示弹窗
 * @params {string} title 提示信息
 * @params {string} icon 提示框的图标
 * @params {Number} duration 自动关闭的时间
 */
function toast(title, icon = 'none', duration = 1500) {
	uni.showToast({
		title: title,
		icon: icon,
		duration: duration
	});
}

const install = Vue => {
	// 定义需要挂载到全局的方法
	const fun_list = [
		{ name: 'UD_setVuex', method: setVuex },
		{ name: 'UD_toast', method: toast }
	];
	// 挂载到全局
	fun_list.forEach(item => {
		Vue.config.globalProperties[item.name] = item.method;
	});
};

export default install;
